#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
	return x*f;
}
void write(int x){
	if(x<0) putchar('-'),x=-x;
	if(x>=10) write(x/10);
	putchar(x%10+'0');
}
const int N = 4e5+10,M = 4e5,mod = 998244353;
int n,k;
int fac[N],inv[N];
void mul(int &x,int y){x=x*y%mod;}
int q_pow(int x,int k){
	int res=1;
	for(;k;k>>=1,mul(x,x))
		if(k&1) mul(res,x);
	return res;
}
int c(int x,int y){return fac[x]*inv[y]%mod*inv[x-y]%mod;}
signed main(){
	freopen("soft.in","r",stdin);
	freopen("soft.out","w",stdout);
	n = read(),k = read();
	fac[0] = 1;
	for(int i = 1;i<=M;i++) fac[i] = fac[i-1]*i%mod;
	inv[M] = q_pow(fac[M],mod-2);
	for(int i = M;i;i--) inv[i-1] = inv[i]*i%mod;
	for(int i = 1;i<=k;i++) write(c(n-1,i-1)),putchar('\n');
	return 0;
}

